package com.aispeech.rcprvd;

public class RemoteDevice {

    public enum RcDevType {
        USB, BLE;
    }

    public enum DataTransferMode {
        AUDIO, HID_BULK, HID_INTER, BLE_DEV_NODE, BLE_GATT_SERVICE
    }

    /**
     * 遥控器设备名称
     */
    private String devName;

    /**
     * 遥控器厂商名称
     */
    private String vendorName;

    /**
     * vendor id 厂商识别码
     */
    private int vid;

    /**
     * product id 产品识别码
     */
    private int pid;

    /**
     * 设备mac地址
     */
    private String macAddress;

    /**
     * 设备版本好
     */
    private String version;

    /**
     * 设备序列号
     */
    private String serialNum;

    /**
     * 设备类型
     * USB: 基于dongle方式传输音频数据.
     * BLE: 基于蓝牙方式传输音频数据.
     */
    private RcDevType deviceType;

    /**
     * 数据传输模式
     * AUDIO: android AudioRecord音频接口
     * HID_BULK: usb hid bulk传输接口
     * HID_INTER: usb hid 中断传输接口
     */
    private DataTransferMode dataTransferMode;

    public String getDevName() {
        return devName;
    }

    public void setDevName(String devName) {
        this.devName = devName;
    }

    public String getVendorName() {
        return vendorName;
    }

    public void setVendorName(String vendorName) {
        this.vendorName = vendorName;
    }

    public int getVid() {
        return vid;
    }

    public void setVid(int vid) {
        this.vid = vid;
    }

    public int getPid() {
        return pid;
    }

    public void setPid(int pid) {
        this.pid = pid;
    }

    public String getMacAddress() {
        return macAddress;
    }

    public void setMacAddress(String macAddress) {
        this.macAddress = macAddress;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getSerialNum() {
        return serialNum;
    }

    public void setSerialNum(String serialNum) {
        this.serialNum = serialNum;
    }

    public RcDevType getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(RcDevType deviceType) {
        this.deviceType = deviceType;
    }

    public DataTransferMode getDataTransferMode() {
        return dataTransferMode;
    }

    public void setDataTransferMode(DataTransferMode dataTransferMode) {
        this.dataTransferMode = dataTransferMode;
    }

    @Override
    public String toString() {
        return "RemoteDevice{" +
                "devName='" + devName + '\'' +
                ", vendorName='" + vendorName + '\'' +
                ", vid=" + vid +
                ", pid=" + pid +
                ", macAddress='" + macAddress + '\'' +
                ", version='" + version + '\'' +
                ", serialNum='" + serialNum + '\'' +
                ", deviceType=" + deviceType +
                ", dataTransferMode=" + dataTransferMode +
                '}';
    }
}
